Mobile wireless communications systems have evolved from principally telephone voice services to provide higher data rates for mobile Internet browsing, MP3 music or TV and video. Transmission techniques are varied and include mixtures of FDMA, TDMA and CDMA. In the latter, a data stream is modulated upon a high chip-rate CDMA code that is preferably orthogonal to the codes used by other data streams, allowing the receiver to separate out its desired data stream from the others by correlating with a particular code. If the codes are truly orthogonal, correlation, also known as despreading, should separate out the desired data stream with complete cancellation of the other, unwanted data streams. However, orthogonal codes do not remain perfectly orthogonal when relatively delayed. Relatively delayed copies of the signal are received due to being reflected from large objects such as buildings and mountains, giving rise to multipath propagation.
To increase data rate to a given receiver, the receiver may be assigned to receive multiple data streams using different orthogonal codes. In one 3G system known as HSPA, the highest uplink data rate is provided by assigning three-quarters of the entire code space to one receiver. The standard for this system specifies assigning one code of spreading factor 2 to the receiver, which represents half the code space, and one code of spreading factor four, which represents half of the remaining code space. Using these codes, in a period of four CDMA chips, two spreading factor=2 symbols are transmitted overlapping one spreading factor=4 symbol, giving three data symbols per 4 code chips. Moreover, the symbols can each be 16QAM symbols of four bits each. A conventional “brute-force” detector for three such 16QAM symbols would hypothesize all 163=4096 possibilities and determine the symbol triple that best explained the signal that was received through the multipath channel. The multipath channel characteristics are separately determined using the technique of channel estimation. However, testing 4096 hypotheses is onerous on signal processing circuits and thus an improved method and apparatus for determining the most likely received symbol triples is required.
A similar joint detection problem occurs in non-spread systems, such as GSM/EDGE and Long Term Evolution (LTE). In a cellular system, multiple users can be assigned the same channel resource (frequency subcarrier or time slot). Receiver performance can be improved by jointly detecting such users. Brute-force detection would require hypothesizing all combinations of the symbols from the multiple users. In the LTE uplink, self-interference can also be a problem, which can be alleviated by jointly detecting symbols in a block equalizer, such as a block decision feedback equalizer.